home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-11-09 | 3.4 KB | 92 lines | [TEXT/pdos] |
- Apple II
- Technical Notes
- _____________________________________________________________________________
- Developer Technical Support
-
-
- Apple IIGS
- #72: QuickDraw II Quirks
-
- Written by: Dave Lyons November 1989
-
- This Technical Note points out some things things you need to watch out for
- when using ScrollRect and when using QuickDraw II's FastPort-aware and
- Shadowing modes under System Software 5.0.2.
- _____________________________________________________________________________
-
-
- Shadowing
-
- Bit 15 of the MasterSCB parameter to QDStartUp requests that QuickDraw II use
- the memory at $012000 to shadow onto the real screen memory at $E12000. (This
- speeds up QuickDraw II, since memory in bank $01 can be read at full speed.)
-
- QDShutDown on ROM 01 machines does not dispose of the $012000 memory block if
- it was allocated. If your application is about to quit anyway, it doesn't
- make any difference.
-
- But if your application restarts QuickDraw II (for example, because it's
- switching between 320 mode and 640 mode), QDStartUp is unable to reallocate
- the shadow memory, since it's already allocated. At this point, QuickDraw II
- is no longer shadowing, and the lost speed advantage is not your biggest
- problem: if you had any windows open, their ports' pixel map pointers are
- still pointing into bank $01, where any drawing done is now invisible.
-
- A solution to this problem is to manually dispose of the $012000 memory after
- QDShutDown if your application is affected.
-
- pha
- _GetMasterSCB
- _QDShutDown
- pla
- bpl WasNotShadow ;bit 15 was off--not shadowing
- pha
- pha
- pea $0001
- pea $2000
- _FindHandle
- plx
- pla
- bcs WasNotShadow
- pha
- phx
- _DisposeHandle
-
- WasNotShadow ;now it's okay to restart QuickDraw
-
-
- FastPort-Aware Anomaly
-
- When the FastPort-aware bit is turned on in the MasterSCB parameter to
- QDStartUp, DrawPicture does not notice changes in the pen pattern. If your
- application uses pictures, either directly or indirectly (i.e., by printing to
- the ImageWriter driver), you may need to leave FastPort-aware mode turned off
- to get the expected behavior.
-
-
- FastFont and Large Pixel Maps
-
- FastFont does not work correctly when drawing past the first 64K of a pixel
- map. If you are drawing text that uses FastFont (i.e., Shaston 8), you can
- avoid this problem by using a non-rectangular clipRgn.
-
-
- ScrollRect Can Hang
-
- Under certain conditions, ScrollRect hangs. For the hang to occur, the port's
- visRgn must be non-rectangular and the scroll must be with a positive dY value
- small enough that some pixels are actually moved on the screen.
-
- Since SetContentOrigin calls ScrollRect, this problem can affect you even if
- you don't call ScrollRect directly. For example, the hang can occur when a
- word processor's Find dialog obscures part of a document window and the search
- wraps back to the beginning of the document .
-
- One way to avoid the problem is to call SetContentOrigin2 with
- ScrollFlag = False and then redraw the window contents as appropriate.
-
-
- Further Reference
- _____________________________________________________________________________
- o Apple IIGS Toolbox Reference, Volumes 1 and 3
-